package com.yyfax.pay.service.depository;

import com.yyfax.framework.common.OpResponse;
import com.yyfax.pay.vo.depository.ChargeBaseReq;
import com.yyfax.pay.vo.depository.EntrustChargeReq;
import com.yyfax.pay.vo.depository.QuickChargePayReq;
import com.yyfax.pay.vo.depository.RspContent;

/**
 * 充值服务
 *
 * @author yejc
 * @date 2017-09-20
 * @since v2.0.0
 */
public interface ChargeService {

	/**
	 * 发送快捷充值短信验证码
	 * 
	 * @author buyi
	 * @date 2017-09-05 09:35:45
	 * @since v2.0.0
	 * @param merchantCode
	 * @param params
	 * @throws Exception 
	 */
	public void quickChargeSendSms(String merchantCode, ChargeBaseReq params) throws Exception;

	/**
	 * 快捷充值快捷支付
	 *
	 * @author yejc
	 * @date 2017-09-20
	 * @since v2.0.0
	 * @param params
	 * @param merchantCode
	 * @return
	 * @throws Exception
	 */
	public OpResponse quickCharge(QuickChargePayReq params, String merchantCode) throws Exception;

	/**
	 * 委托充值
	 *
	 * @author yejc
	 * @date 2017-10-20
	 * @since v2.0.0
	 * @param params
	 * @param merchantCode
	 * @return
	 * @throws Exception
	 */
	public OpResponse entrustCharge(EntrustChargeReq params, String merchantCode) throws Exception;
}
